Method and system to display and search in a language independent manner

ABSTRACT

A method to facilitate a language independent search includes displaying a search attribute, including an attribute name and a selection of attribute values, to a user and receiving from the user a search attribute value selection corresponding to the attribute name. Then, the attribute name and attribute value selection are translated into language independent symbols, such as numbers. The numbers are used in a search of a sellers item listings table to select item listings with attribute values that match the search attribute values selected by the user.

FIELD OF THE INVENTION

The present invention relates generally to search systems. One embodiment relates to a method and system for displaying items and searching for items in a language independent manner.

BACKGROUND OF THE INVENTION

The emergence of electronic commerce, including online auction sites as well as fixed-price sites, has revolutionized the manner in which goods and services may be bought and sold. In particular, the development of network based commerce systems has enabled individuals to sell items with relatively little effort or expense while at the same time reaching a much larger potential pool of buyers than using more traditional means such as classified advertising and garage sales. In fact, an Internet enabled commerce site can extend well beyond geographical and cultural boundaries, potentially having a global reach. Consequently, one of the difficult challenges in developing a network based electronic commerce site is developing a site that allows sellers and buyers to communicate despite potential language barriers.

In a typical electronic commerce system, a seller posts an item for sale and describes the particular item in his or her native language. Unless a potential buyer can read and understand the seller's native language, the potential buyer will have no way of finding or understanding the seller's posting. Consequently, there is little if any chance that a potential buyer and a seller that have different native languages will ever enter into a transaction.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, there is provided a method and system to facilitate an item search in a language independent manner. A search attribute specified in a particular language is received from a user. The search attribute includes an attribute name and an attribute value. The search attribute is translated or converted into a language independent symbol. Then, using the language independent symbol, a search is performed to select item listings having item attributes, expressed as language independent symbols, corresponding to the translated or converted search attribute.

In accordance with a second aspect of the invention, there is provided a method and system to display an item listing in a language independent manner. An item listing is retrieved from a database. The item listing has one or more associated attributes and each attribute includes an attribute name and an attribute value. Each attribute name and attribute value is stored in an item listing table of a database as a language independent symbol, such as a number. Upon retrieval from the item listing table, the attribute name and attribute value are translated or converted into a specific language using a language-specific look-up table to map the numbers to attribute names and attribute values in a specific language. Then, the item listing is presented to a user with the attribute name and attribute value displayed in the specific language.

Other aspects of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:

FIG. 1 shows a schematic block diagram of an exemplary network-based system in the form of an online marketplace according to one embodiment of the present invention;

FIG. 2 shows a schematic diagram illustrating an exemplary database, maintained by, and accessed via a database engine server, that at least partially implements and supports searching in a language independent manner;

FIG. 3 shows an exemplary category table of a database that includes attributes associated with a category of listings;

FIG. 4 is a schematic diagram illustrating item listing and language-specific look-up database tables according to an exemplary network-based commerce facility;

FIG. 5 illustrates a listing creation page in the German language according to an exemplary network-based commerce facility;

FIG. 6 illustrates a buyer's search page in the English language according to an exemplary network-based commerce facility;

FIG. 7 illustrates an item listing page according to an exemplary network-based commerce facility;

FIG. 8 illustrates a data flow diagram of the operations to post an item for sale according to one embodiment of the invention;

FIG. 9 illustrates a data flow diagram illustrating the operations to perform a language independent search according to one embodiment of the present invention;

FIG. 10 illustrates a flowchart of the operations to perform a language independent search according to one embodiment of the present invention;

FIG. 11 illustrates a flowchart of the operations to display an item listing in a language independent manner according to one embodiment of the present invention;

FIG. 12 illustrates a system for searching and displaying an item listing in a language independent manner according to one embodiment of the present invention;

FIG. 13 is a diagrammatic representation of a machine in the exemplary form of a computer system within which a set of instructions, for causing the machine to perform any one of the methodologies discussed above, may be executed.

DETAILED DESCRIPTION

A method and system to display items and search for items in a language independent manner are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.

FIG. 1 is a network diagram depicting a system 10, according to one embodiment of the present invention, having a client-server architecture. A network-based system, in the exemplary form of an online marketplace 12, provides server-side functionality, via a network 14 (e.g., the Internet) to one or more clients. FIG. 1 illustrates, for example, a web client 16 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Washington State), and a programmatic client 18 executing on respective client machines 20 and 22. While the exemplary embodiment is below described in the context of the marketplace 12, the invention is of course not so limited and may find application in a broad range of system types.

Turning specifically to the network-based marketplace 12, an Application Program Interface (API) server 24 and a web server 26 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 28. The application servers 28 host one or more marketplace applications 30 and payment applications 32. The application servers 28 are, in turn, shown to be coupled to one or more database servers 34 that facilitate access to one or more databases 36.

The marketplace applications 30 provide a number of marketplace functions and services to users that access the marketplace 12. The payment applications 32 likewise provide a number of payment services and functions to users. The payment applications 30 may allow users to quantify for, and accumulate, value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications 30. While the marketplace and payment applications 30 and 32 are shown in FIG. 1 to both form part of the network-based marketplace 12, it will be appreciated that, in alternative embodiments of the present invention, the payment applications 32 may form part of a payment service that is separate and distinct from the marketplace 12.

Further, while the system 10 shown in FIG. 1 employs a client-server architecture, the present invention is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system. The various marketplace and payment applications 30 and 32 could also be implemented as standalone software programs, which do not necessarily have networking capabilities.

The web client 16, it will be appreciated, accesses the various marketplace and payment applications 30 and 32 via the web interface supported by the web server 26. Similarly, the programmatic client 18 accesses the various services and functions provided by the marketplace and payment applications 30 and 32 via the programmatic interface provided by the API server 24. The programmatic client 18 may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on the marketplace 12 in an off-line manner, and to perform batch-mode communications between the programmatic client 18 and the network-based marketplace 12.

The database 36 (which may comprise several distributed databases) may store listings (including both goods and services) that are up for auction and/or sale to users via the Internet 38. As shown in FIG. 1, the database 36 may be maintained by, and accessed via, the database server 34, which at least partially implements and supports the online marketplace 12. The database 36 may be a relational database, and include a number of tables having entries, or records, that are linked by indices and keys.

As illustrated in FIG. 2, for one embodiment, central to the database 36 is a user table 40, which contains a record for each user of the network-based marketplace 12. A user may operate as a seller, a buyer, or both, within the network-based marketplace 12. The database 36 also includes listings tables 42 that may be linked to the user table 40. In one embodiment, the listings tables 42 include a sellers item listings table 44 and a bidders item listings table 46. For example, the sellers item listings table 44 may contain data related to items listed for sale or auction by a seller, and the bidders item listings table 46 may contain data related to the individual bids on the items listed for sale or auction made by bidders. For one embodiment of the present invention, the listings tables 42 are linked to one or more language-specific look-up tables 48. In addition, a user record in the user table 40 may be linked to multiple listings that are being, or have been, auctioned or sold via the marketplace 12. A number of other exemplary tables are also shown to be linked to the user table 40, namely a note table 50, a user past aliases table 52, a feedback table 54, a bids table 56, an accounts table 58, and an account balances table 60.

Referring to FIG. 3 of the drawings, reference numeral 62 generally indicates an exemplary arrangement of listings in the sellers item listings table 44. In one embodiment, listings of products posted for sale and/or auction on the network-based marketplace 12 are arranged in categories 64 to 70. It is to be appreciated that the number of categories may vary depending upon the nature of the network-based marketplace 12. Exemplary categories that may be included are Clothing and Accessories 64, Computers and Office Equipment 66, Motor Vehicles 68, Arts and Antiques (not shown), Musical Instruments (not shown), Pottery and Glass (not shown), Real Estate (not shown), and the like. Each category 64 to 70 may include one or more sub-categories which may group listings in a particular category. For example, the Computers and Office Equipment category 66 may include a “Desktops” sub-category 72, a “Laptops” sub-category 74, a “Monitors” sub-category (not shown), and so on. Each sub-category 72, 74 may, in turn, include further details such as a plurality of attributes 76 as well as a plurality of keywords 78 which are associated with a particular category 64 to 70. For example, the Laptops sub-category 74 may include attributes 76 such as, processor speed, screen size, manufacturer, or any other attributes that may be associated with the particular listing. In one embodiment, the categories are arranged in a so-called “tree-structure” wherein sub-categories, and so on, may be provided.

Throughout the detailed description, the invention is discussed in the context of a motorcycle listing posted by a German seller under the category of motor vehicles and displayed in a search result in English. However, it is appreciated that this is simply an example, and the invention can be implemented to work with any number of languages and in any number of categories. In addition, it is to be appreciated that the number and type of attributes 76 associated with any category 64 to 70 may differ from one category to another. For example, as the category 64 relates to clothing, then a sub-category 76 may, for example, relate to men's pants and shorts and the attributes 76 may be associated with style, size, color, condition, minimum price, maximum price, and so on. Thus, the number and nature of the attributes 76 may differ from one embodiment to another and/or within the same embodiment.

FIG. 4 is a schematic diagram illustrating a sellers item listings table 44 and several language-specific look-up tables according to an exemplary network-based commerce facility. As illustrated in FIG. 3, the network-based marketplace 12 may generally be implemented with a wide variety of database tables, but for the sake of clarity in describing the present invention, only the tables relevant to the present invention are illustrated and described in detail. In addition to the sellers item listings table 44, FIG. 4 includes language-specific look-up tables 80, 82, 84, 86 and 48. Each of the language-specific look-up tables maps a column of attribute names to a column of attribute IDs, where the attribute names are expressed in the particular language of the language-specific table and the attribute IDs are expressed as language independent symbols, such as numbers. Similarly, the language-specific look-up tables map a column of attribute values to a column of attribute value IDs. While numbers are used as language independent symbols in the example discussed in FIG. 4, any language independent symbol could be used to represent the various attribute names and attribute values. For example, in an alternative embodiment, punctuation marks or coded groupings of characters could be used to represent the various attribute names and attribute values.

As illustrated in FIG. 2, the U.S. English look-up table 80 includes a column of attribute IDs with a corresponding column of attribute names specified in English. For example, in U.S. English look-up table 80, attribute ID “50” directly maps to the attribute name “Make.” Similarly, in the German look-up table 82, attribute ID “50” maps directly to corresponding attribute name “Hersteller,” which is the German language equivalent of the English attribute name for “Make.” Each language-specific look-up table 48, including the Swedish look-up table 84 and the Russian look-up table 86, maps the attribute ID “50” to an attribute name corresponding to the language-specific word for “Make.”

Similarly, each language-specific look-up table 48 maps a column of attribute value IDs to a column of corresponding attribute values. Just as the attribute names are specified in the language of the language-specific look-up table, so too are the attribute values specified in the language of the language-specific look-up table. For example, as illustrated in FIG. 4, the attribute value ID “1051” maps to the attribute value “Cruiser” in the U.S. English look-up table 80. The attribute value ID “1051” maps to the German equivalent of “Cruiser” in the German look-up table 82, to the Swedish equivalent of “Cruiser” in the Swedish look-up table 84, and to the Russian equivalent of “Cruiser” in the Russian look-up table 86.

For one embodiment, each language-specific look-up table is developed and maintained by an administrator of the network-based commerce system 12. While FIG. 4 illustrates language-specific look-up tables 48 for four different languages, U.S. English, German, Swedish, and Russian, it will be appreciated that any number of look-up tables can be implemented to suit the needs of the particular geographical regions in which the network-based commerce system 10 will be deployed.

The seller listing table 44 stores data related to items posted for sale on the network-based commerce system 10. For purposes of this invention, the term “posted” is synonymous with “listed” and generally refers to the act of making the item available for sale on a network-based marketplace, whether by auction or in a fixed-price marketplace. As will be discussed in greater detail below, when a seller posts an item for sale, the seller will select one or more attributes to describe the item. For example, if a seller is posting a motorcycle for sale, the seller might be prompted to enter information related to the motorcycle, such as the make, model and year of the motorcycle. As such, each record in the sellers item listings table 44 includes a category or sub-category, one or more item attributes, and one or more keywords.

For purposes of the present invention a search attribute is an attribute used to search for an item and an item attribute is an attribute associated with an item at the time of posting. For one embodiment, only item attributes that are presently associated with an item available for sale or auction will be displayed as search attribute selections. However, in an alternative embodiment, any number of search attributes might be selected, regardless of whether there are any matching item attributes associated with an actual item available for sale or auction.

As illustrated in FIG. 4, for one embodiment of the present invention, attributes input by a seller are stored in the sellers item listings table 44 as numbers. For example, row 88 represents an item listing for a motorcycle. In the exemplary sellers item listings table 44 illustrated in FIG. 2, the sub-category column determines the particular type of item. For example, in row 46 the sub-category number is “5” representing a motorcycle listing. For one embodiment a category table (not shown) maps category and/or sub-category numbers to different category items. The motorcycle listing represented by row 46 has attributes defined for Attribute 1 and Attribute 2. For example, under Attribute 1 in table 44, the listing has values “50” and “1050” for attribute ID_1 and attribute value ID_1 respectively. Using the U.S. English look-up table, “50”, the value for attribute ID_1, corresponds to “Make.” Similarly, “1050”, the attribute value for attribute value ID_1, corresponds to “BMW.” As such, the motorcycle listing represented by row 46 is for a BMW motorcycle. Similarly, using the English look-up table 80, it is apparent that the motorcycle listing represented by row 88 is of the “Cruiser” type.

FIG. 5 illustrates a listing creation page 90 in the German language according to an exemplary network-based commerce facility. For one embodiment of the invention, a seller who wants to post an item for sale will select a particular category or sub-category under which to post the item. After selecting the category or sub-category, the seller will be presented with a listing creation page 90, as illustrated in FIG. 5, at which the seller will describe the item. The listing creation page 90 illustrated in FIG. 5 is in the German language to accommodate a seller whose native language is German. There are several mechanisms that can be used to determine the particular language that is presented to a seller. For one embodiment, the IP address of the seller's network device is determined and, based on a known mapping of IP addresses, the server determines a language in which to display web pages. Alternatively, web pages may be displayed to a user based on a selected language stored in a user's profile.

Depending on the particular category or sub-category that a seller has selected, the listing creation page 90 may prompt the seller to select, or otherwise provide, several item attribute values that describe the item being posted. For example, the listing creation page 90 illustrated in FIG. 5 is for a motorcycle listing. At text input box 92, the seller is prompted to provide a brief description to identify the listing and serve as the title or heading of the item listing. The seller is also prompted to input item attribute values at the drop down menu boxes 96 and 98, as well as at text input boxes 100, 102 and 104. In particular, drop down menu box 96 prompts the seller to input the particular “Herrsteller” (e.g., the German language equivalent of “Make”) by selecting from a list of motorcycle manufacturers. Similarly, drop down menu box 98 prompts the seller to select a “Typ” (e.g., the German language equivalent of “Type”) by selecting from a list of motorcycle types. Text input boxes 100, 102 and 104 prompt the seller to input item attribute values for the date of manufacture, color and starting bid price respectively. Once the seller has made his selections and input the item attributes, the seller selects the “Weiter” 106 (e.g., the German language equivalent of “continue”) button or link to continue.

By selecting the “Weiter” button or link, the attribute values input and selected by the seller are communicated to the network-based marketplace 12. However, before storing the item listing in the sellers item listings table 44, the attribute names and attribute values are converted or translated into numbers using the German language-specific look-up table 80. For example, if the seller selects “BMW” as the attribute value for the “Herrsteller” attribute name, then according to the German language look-up table 82, the attribute name and attribute value are converted or translated to “50” and “1050” respectively. Accordingly, “50” and “1050” are stored in an item listing record 88 in the seller listing table 44.

One of the advantages of storing the attribute names and attribute values as numbers is that the numbers can easily be translated to names and values in any language using a language-specific look-up table 48. This allows a potential buyer to search for products that were originally listed in a language different from the buyer's native language. It also allows for items to be displayed to a potential buyer in a language that is different from the language of the seller that posted the item. In FIG. 4, numbers have been used to represent attribute IDs and attribute value IDs, however, it will be appreciated that any language independent symbol could be used.

FIG. 6 illustrates a buyer's search page in the English language according to an exemplary network-based commerce facility. For one embodiment of the present invention, a potential buyer selects a category or sub-category of items to search. For example, in FIG. 6 a buyer's search page for motorcycles is illustrated. The “Motorcycle” category might be a sub-category of “Motor Vehicles” for one embodiment of the invention. After selecting a category to search, the buyer is prompted to input or select desired search attributes associated with the item that the user is searching for. For example, as illustrated in FIG. 6, the buyer's search page 108 for the category “Motorcycles” displays drop down menu boxes to select search attributes for “Make” as well as “Type.” In addition, the buyer's search page 108 includes input text boxes for such attributes as “Year” 114, “Color” 116, 118, and “Price” 120. After selecting and entering search attribute values for some or all of search attributes 110 through 120, a potential buyer selects the “Search” button 122 to perform a search. Accordingly, the search attributes are communicated to the network-based marketplace 12.

Prior to performing a search of the sellers item listings table 44, database server 34 translates or converts the search attributes 110 through 120 into attribute IDs and attribute value IDs using the U.S. English language look-up table. For example, the search attribute with attribute name “Make” is converted or translated into the attribute ID “50” according to the U.S. English language look-up table. Similarly, assuming the potential buyer selected “BMW” as the attribute value for the search attribute with attribute name “Make” then the attribute value “BMW” would be converted or translated into the attribute value ID “1050.” After converting the attribute names and attribute values to numbers, the database server 34 performs a search of the sellers item listings table 44 to find item listings with attributes that match the search attributes 110 through 120 selected by the potential buyer. Accordingly, an item that was posted in Germany by a German seller will be selected if the attribute IDs and attribute value IDs match the translated or converted search attributes selected by the potential buyer, regardless of the language used by the German seller to post the item to the marketplace 12.

FIG. 7 illustrates an item listing page 126 according to an exemplary network-based commerce facility. The item listing page 126 illustrated in FIG. 7 is displayed in English. In particular, attributes 128 through 136 are displayed in English. For one embodiment, the attributes 128 through 136 are displayed in the native language of the potential buyer that performs a search, regardless of whether the particular item satisfying the search was posted by a seller with a native language different from the potential buyer. For example, if a German seller posts an item using a German listing creation page 90 and specifies attribute values in German, the item listing will nevertheless display the attributes in the native language of the potential buyer. For one embodiment, a toggle button, such as button 138, is displayed on the item listing page 126 to allow the potential buyer to see the attributes displayed in the language in which the item was originally posted. For example, if the motorcycle listing illustrated in item listing page 126 was posted by a seller in Germany whose native language is German, a potential non-German speaking buyer may select button 138 to change the language in which the item listing is displayed from the buyer's native language, to the seller's native language. Selecting the button 138 a second time will change the item listing language back to the potential buyer's native language. This is particularly useful when the non-German speaking buyer would like to see the item listing in the seller's native language, as posted by the seller.. In alternative embodiments, the item listing page 126 could display buttons that, when selected, change the attribute display language to a language of the potential buyer's choice.

FIGS. 8 and 9 illustrate data flow diagrams, according to one embodiment of the invention, for operations to post an item for sale and to search for a posted item, respectively. For one embodiment of the invention, a seller is prompted to select attribute values for one or more attribute names associated with a particular item category or sub-category. Accordingly, at reference numeral 142, a portion of a sellers listing page is shown in German. A German seller selects attribute values for the attribute names “Hersteller” and “Typ.” Next, the attribute names and attribute values 144 are communicated to the network-based marketplace 12 via network 14. At reference numeral 146, database server 34 uses a German language-specific look-up table 80 to translate each attribute name and each attribute value into an attribute ID and an attribute value ID respectively. After the translation, at reference numeral 150, each attribute ID 148 and attribute value ID 148 are stored as a record in sellers item listings table 44.

At reference numeral 154 of FIG. 9 a portion of a buyer's search page displayed in English is illustrated. According to one embodiment of the present invention, a buyer specifies attribute values in English for one or more attribute names associated with a particular category or sub-category. After selecting the search attribute values for the corresponding attribute names, the attributes 156 are communicated to database server 34. At database server 34 an English language look-up table 158 is used to translate or convert the attribute names and attribute values into attribute IDs and attribute value IDs. The attribute IDs and attribute value IDs are expressed or represented as numbers. Next, a search of the sellers item listings table 162 is performed using the attribute IDs and attribute value IDs 160 to select listings with matching attributes. Consequently, the search is independent of the particular language in which the listing was originally posted.

FIG. 10 illustrates a flowchart of the operations 164 to perform a language independent search according to one embodiment of the present invention. At operation 164, a user is presented with one or more search attributes associated with a particular category or sub-category that the user desires to search. Each search attribute has an attribute name and a selection of attribute values. The attribute names and attribute values are presented or displayed to the user in the user's native language.

At operation 168, the user's attribute value selections for each attribute name are received at the network-based marketplace. At operation 170, the attribute names and attribute values are translated into numbers using a language-specific look-up table that corresponds to the language in which the attribute names and attribute values are presented. Finally, the translated attribute names and values are used to perform a database search of the sellers item listings table at operation 172.

FIG. 11 illustrates a flowchart of the operations to display an item listing in a language independent manner according to one embodiment of the present invention. At operation 176, a request to view a particular listing in a particular language is received. For one embodiment, the request is made by a user selecting a link on a web page to one item listing from a selection of item listings. At operation 178, the item listing that has been requested is retrieved from the sellers item listings database table 44. The listing has associated with it one or more attributes. Each of the attributes has an attribute name and an attribute value stored in the sellers item listings table 44 as an attribute ID and an attribute value ID respectively. For one embodiment the attribute ID and attribute value ID for each attribute are stored as numbers. Using a language-specific look-up table, at operation 180, the attribute ID and attribute value for each attribute associated with the item listing are converted to an attribute name and attribute value in the particular language that corresponds with the language-specific look-up table. For example, if the language-specific look-up table is an English look-up table, then the attribute ID and attribute value ID are converted to an attribute name and attribute value specified in English. At operation 182, the item listing is displayed to the user with attribute names and attribute values expressed in the same language as the language of the language-specific look-up table used to translate the attributes into attribute names and attribute values.

FIG. 12 illustrates a system 184 for searching and displaying an item listing in a language independent manner according to one embodiment of the present invention. Accordingly, system 184 includes display logic 186, input logic 188, translation logic 190, language-specific table selection logic 190, and search logic 192.

For one embodiment of the invention, the display logic 184 provides the visual interface to the user. For example, the display logic 186 may facilitate the presentation of search attributes, including an attribute name and a selection of associated attribute values. In addition, for one embodiment of the invention, the display logic 186 may facilitate the presentation of item listings to the user.

For one embodiment of the invention, the input logic 188 serves as the input interface to receive input from a user. For example, the input logic 188 may include a combination of input interfaces and devices, such as a keyboard and/or a mouse pointing device. The input logic 188 of the system 184 may receive attribute value selections from a user for associated attribute names. Once an attribute value selection has been received, the input logic 188 may communicate the attribute value selection to the translation logic 190. The translation logic 190 may translate the attribute value and associated attribute name into symbols based on a language-specific look-up table. For example, the translation logic 190 may include language-specific table selection logic 194 to select a particular language-specific look-up table to use when performing the translation of attribute values and attribute names.

The system 184 also includes search logic 192 to search for items based on the translated attribute names and attribute values. For example, after the translation logic 190 has converted, or translated, one or more selected attribute values and associated names to symbols based on a language-specific look-up table, the search logic 192 performs a search of items stored in the database 36. For one embodiment of the invention, the search logic 192 facilitates a database search of the database using a query formulated in a standard query language.

FIG. 13 shows a diagrammatic representation of a machine in the exemplary form of a computer system 200 within which a set of instructions, for causing the machine to perform any one of the methodologies discussed above, may be executed. In alternative embodiments, the machine may comprise a network router, a network switch, a network bridge, Personal Digital Assistant (PDA), a cellular telephone, a web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine.

The computer system 200 includes a processor 202, a main memory 204 and a static memory 206, which communicate with each other via a bus 208. The computer system 200 may further include a video display unit 210 (e.g., a liquid crystal display (LCD) or cathode ray tube (CRT). The computer system 200 also includes an alphanumeric input device 212 (e.g. a keyword), a cursor control device 214 (e.g. a mouse) a disk drive unit 216, a signal generation device 218 (e.g. a speaker) and a network interface device 220.

The disk drive unit 216 includes a machine-readable medium 222 on which is stored a set of instructions (software) 224 embodying any one, or all, of the methodologies described above. The software 224 is also shown to reside, completely or at least partially, within the maim memory 204 and/or within the processor 202. The software 224 may further be transmitted or received via the network interface device 220. For the purposes of this specification, the term “machine-readable medium” shall be taken to include any medium which is capable of storing or encoding a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to included, but not be limited to; solid-state memories, optical and magnetic disks, and carriers wave signals.

Thus, a method for searching in a language independent manner is provided with reference to specific exemplary embodiments. It will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. For example, while the present invention was described in the context of a network based commerce system having a structured database environment, the present invention is equally applicable to search engines in general. 

1. A method to facilitate an item search in a language independent manner, the method including: receiving from a user a search attribute, the search attribute having an attribute name and an attribute value specified in a first language; translating the attribute name and the attribute value into language independent symbols; and, performing a search to select items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are represented as language independent symbols.
 2. The method of claim 1, wherein the translating of the attribute name and the attribute value into language independent symbols includes translating the attribute name and attribute value into numbers.
 3. The method of claim 2, wherein the translating of the attribute name and the attribute value into numbers includes selecting a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 4. A system to facilitate an item search in a language independent manner, the system having at least one server to: receive from a user a search attribute, the search attribute having an attribute name and an attribute value specified in a first language; translate the attribute name and the attribute value into language independent symbols; and, perform a search to select items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are represented as language independent symbols.
 5. The system of claim 4, wherein the server is to translate the attribute name and the attribute value into numbers.
 6. The system of claim 5, wherein the server is to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 7. A method to facilitate an item search in a language independent manner, the method including: presenting to a user a search attribute, the search attribute having an attribute name and a selection of attribute values, the attribute name and the selection of attribute values displayed in a first language; receiving from the user an attribute value selection associated with the attribute name; translating the attribute name and the attribute value selection into numbers based on a language-specific look-up table, the language-specific look-up table corresponding to the first language; and performing a search to select items based on the numbers that correspond to the attribute name and the attribute value selected by the user.
 8. The method of claim 7, wherein the first language is the native language of the user determined by the geographical location of the user.
 9. The method of claim 7, wherein the first language is a language selected by the user.
 10. The method of claim 7, wherein the language-specific look-up table includes a mapping of attribute names to attribute IDs and a mapping of attribute values to attribute value IDs, the attribute names and attribute values expressed in a specific language and the attribute IDs and attribute value IDs expressed as numbers.
 11. The method of claim 7, wherein the performing of the search to select items includes selecting items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are expressed as numbers.
 12. The method of claim 11, wherein the item attribute has an item attribute ID and an item attribute value ID matching the translated numbers corresponding to the attribute name and attribute value received from the user.
 13. A system to facilitate an item search in a language independent manner, the system including: display logic to present to a user a search attribute, the search attribute having an attribute name and a selection of attribute values, the attribute name and the selection of attribute values displayed in a first language; input logic to receive from the user an attribute value selection associated with the attribute name; translation logic to translate the attribute name and the attribute value selection into numbers based on a language-specific look-up table, the language-specific look-up table corresponding to the first language; and search logic to perform a search to select items based on the numbers that correspond to the attribute name and the attribute value selected by the user.
 14. The system of claim 13, wherein the first language is the native language of the user determined by the geographical location of the user.
 15. The system of claim 13, wherein the first language is a language selected by the user.
 16. The system of claim 13, wherein the translation logic includes language-specific table selection logic to select a particular language-specific look-up table, the specific language-specific look-up table including a mapping of attribute names to attribute IDs and a mapping of attribute values to attribute value IDs, the attribute names and attribute values expressed in a specific language and the attribute IDs and attribute value IDs expressed as numbers.
 17. The system of claim 13, wherein the search to select items includes selecting items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are expressed as numbers.
 18. The system of claim 17, wherein the search to select items includes selecting items that have an item attribute with an item attribute ID and an item attribute value ID matching the translated number corresponding to the attribute name and attribute value received from the user.
 19. A machine-readable medium embodying a sequence of instructions for facilitating an item search in a language independent manner, the instructions, when executed by a machine, cause the machine to: receive from a user a search attribute, the search attribute having an attribute name and an attribute value specified in a first language; translate the attribute name and the attribute value into language independent symbols; and, perform a search to select items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are represented as language independent symbols.
 20. The machine-readable medium of claim 19, wherein the instructions further cause the machine to translate the attribute name and attribute value into numbers.
 21. The machine-readable medium of claim 20, wherein the instructions further cause the machine to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 22. A system to facilitate an item search in a language independent manner, the system including: means to receive from a user a search attribute, the search attribute having an attribute name and an attribute value specified in a first language; means to translate the attribute name and the attribute value into language independent symbols; and, means to perform a search to select items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are represented as language independent symbols.
 23. The system of claim 22, further including means to translate the attribute name and the attribute value into numbers.
 24. The system of claim 23, further including means to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 25. A system to facilitate an item search in a language independent manner, the system including: means to present to a user a search attribute, the search attribute having an attribute name and a selection of attribute values, the attribute name and the selection of attribute values displayed in a first language; means to receive from the user an attribute value selection associated with the attribute name; means to translate the attribute name and the attribute value selection into numbers based on a language-specific look-up table, the language-specific look-up table corresponding to the first language; and means to perform a search to select items based on the numbers that correspond to the attribute name and the attribute value selected by the user.
 26. The system of claim 25, wherein the first language is the native language of the user determined by the geographical location of the user.
 27. The system of claim 25, wherein the first language is a language selected by the user.
 28. The system of claim 25, wherein the translation logic includes means to select a particular language-specific look-up table, the specific language-specific look-up table including a mapping of attribute names to attribute IDs and a mapping of attribute values to attribute value IDs, the attribute names and attribute values expressed in a specific language and the attribute IDs and attribute value IDs expressed as numbers.
 29. The system of claim 25, wherein the search to select items includes selecting items that have an item attribute matching the search attribute, wherein the search attribute and item attribute are expressed as numbers.
 30. The system of claim 29, wherein the search to select items includes selecting items that have an item attribute with an item attribute ID and an item attribute value ID matching the translated number corresponding to the attribute name and attribute value received from the user.
 31. A method to display an item listing, the method including: retrieving from a database an item listing, the item listing including an attribute name and an attribute value, the attribute name and attribute value represented as language independent symbols; translating the language independent symbols into an attribute name and an attribute value specified in a first language; and, presenting the item listing to a user and displaying the attribute name and the attribute value in the first language.
 32. The method of claim 31, wherein the language independent symbols are numbers.
 33. The method of claim 32, wherein translating the numbers into an attribute name and an attribute value specified in a first language includes selecting a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 34. A system to display an item listing, the system including at least one server to: retrieve from a database an item listing, the item listing including an attribute name and an attribute value, the attribute name and attribute value represented as language independent symbols; translate the language independent symbols into an attribute name and an attribute value specified in a first language; and, present the item listing to a user and displaying the attribute name and the attribute value in the first language.
 35. The system of claim 34, wherein the language independent symbols are numbers.
 36. The system of claim 35, wherein the server is to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 37. A method to display an item listing, the method including: receiving from a user a request to view an item listing in a first language; retrieving from a database the item listing including one or more attributes associated with the item listing, each attribute having an attribute ID and an attribute value ID expressed as a number; translating each attribute ID and attribute value ID into an attribute name and an attribute value using a language-specific look-up table, the language-specific look-up table selected based on the first language; and, presenting the item listing with the attribute names and attribute values expressed in the first language, regardless of whether the item listing was originally posted in a language other than the first language.
 38. The method of claim 37, wherein the first language is the native language of the user determined by the geographical location of the user.
 39. The method of claim 37, wherein the first language is a language selected by the user.
 40. The method of claim 37, wherein the language-specific look-up table includes a mapping of attribute IDs to attribute names and a mapping of attribute value IDs to attribute values, the attribute IDs and attribute value IDs expressed as numbers and the attribute names and attribute values expressed in a specific language.
 41. A system to display an item listing, the system including: input logic to receive from a user a request to view an item listing in a first language; search logic to retrieve from a database the item listing including one or more attributes associated with the item listing, each attribute having an attribute ID and an attribute value ID expressed as a number; translation logic to translate each attribute ID and attribute value ID into an attribute name and an attribute value using a language-specific look-up table, the language-specific look-up table selected based on the first language; and, display logic to present the item listing with the attribute names and attribute values expressed in the first language, regardless of whether the item listing was originally posted in a language other than the first language.
 42. The system of claim 41, wherein the first language is the native language of the user determined by the geographical location of the user.
 43. The system of claim 41, wherein the first language is a language selected by the user.
 44. The system of claim 41, wherein the translation logic includes language-specific table selection logic to select a particular language-specific look-up table, the particular language-specific look-up table including a mapping of attribute IDs to attribute names and a mapping of attribute value IDs to attribute values, the attribute IDs and attribute value IDs expressed as numbers and the attribute names and attribute values expressed in a specific language.
 45. A machine-readable medium embodying a sequence of instructions for displaying an item listing, the instructions, when executed by a machine, cause the machine to: retrieve from a database an item listing, the item listing including an attribute name and an attribute value, the attribute name and attribute value represented as language independent symbols; translate the language independent symbols into an attribute name and an attribute value specified in a first language; and, present the item listing to a user and displaying the attribute name and the attribute value in the first language.
 46. The machine-readable medium of claim 45, wherein the language independent symbols are numbers.
 47. The machine-readable medium of claim 46, wherein the instructions further cause the machine to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 48. A system to display an item listing, the system including: means to retrieve from a database an item listing, the item listing including an attribute name and an attribute value, the attribute name and attribute value represented as language independent symbols; means to translate the language independent symbols into an attribute name and an attribute value specified in a first language; and, means to present the item listing to a user and displaying the attribute name and the attribute value in the first language.
 49. The system of claim 48, wherein the language independent symbols are numbers.
 50. The system of claim 49, further including means to select a language-specific look-up table to use for the translation, the selection of the language-specific look-up table based on the first language.
 51. A system to display an item listing, the system including: means to receive from a user a request to view an item listing in a first language; means to retrieve from a database the item listing including one or more attributes associated with the item listing, each attribute having an attribute ID and an attribute value ID expressed as a number; means to translate each attribute ID and attribute value ID into an attribute name and an attribute value using a language-specific look-up table, the language-specific look-up table selected based on the first language; and, means to present the item listing with the attribute names and attribute values expressed in the first language, regardless of whether the item listing was originally posted in a language other than the first language.
 52. The system of claim 51, wherein the first language is the native language of the user determined by the geographical location of the user.
 53. The system of claim 51, wherein the first language is a language selected by the user.
 54. The system of claim 51, wherein the translation logic includes means to select a particular language-specific look-up table, the particular language-specific look-up table including a mapping of attribute IDs to attribute names and a mapping of attribute value IDs to attribute values, the attribute IDs and attribute value IDs expressed as numbers and the attribute names and attribute values expressed in a specific language. 